package com.joysuch.wwyt.bp.bean;

import cn.zlg.common.springmvc.validate.constraints.NotNull;
import com.joysuch.wwyt.core.bean.BaseAttachmentBean;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.persistence.Column;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.Date;
import java.util.List;

@Data
@ApiModel(value = "演练计划")
public class BpEmergencyExercisePlanBean implements Serializable {

    //演练计划id
    @ApiModelProperty(value = "演练计划id")
    private Long id;

    //编码
    @ApiModelProperty(value = "演练计划编码")
    private String code;

    //名称
    @NotNull(field = "名称")
    @ApiModelProperty(value = "名称")
    private String name;

    //演练地点
    @ApiModelProperty(value = "地点")
    private String location;

    //主办部门
    @ApiModelProperty(value = "主办部门")
    private Long departId;
    private String departName;

    @NotNull(field = "演练方式")
    @ApiModelProperty(value = "演练方式")
    private Long method;
    @ApiModelProperty(value = "演练方式名称")
    private String methodName;

    @ApiModelProperty(value = "演练级别")
    private Long level;
    @ApiModelProperty(value = "演练级别名称")
    private String levelName;

    @ApiModelProperty(value = "应急预案(制度id)")
    private Long pId;
    private String pName;

    @NotNull(field = "制定人")
    @ApiModelProperty(value = "制定人")
    private Long desigenerId;
    private String desigenerName;

    @NotNull(field = "制定日期")
    @ApiModelProperty(value = "制定日期")
    private LocalDate enacymentDate;

    @ApiModelProperty(value = "开始日期")
    private LocalDate startDate;

    @ApiModelProperty(value = "结束日期")
    private LocalDate endDate;

    @ApiModelProperty(value = "内容")
    private String content;

    @ApiModelProperty(value = "备注")
    private String note;

    @ApiModelProperty(value = "附件")
    private List<BaseAttachmentBean> attachments;

    @Data
    public static class Search implements java.io.Serializable {

        @ApiModelProperty(value = "分页查询:编号或名称")
        private String codeOrName;
        private String name;
        private String code;

        @ApiModelProperty(value = "分页查询:演练方式")
        private Long method;

        @ApiModelProperty(value = "分页查询:演练级别")
        private Long level;

    }
}
